選択する際は git archive と git bundle 送る内容が生のソースコードか、ポータブルなリポジトリ履歴かによって異なります。
1. メタデータの含む・含まないの違い
主な技術的な違いは .gitディレクトリ (内部オブジェクト)です。 Gitアーカイブ この内部メタデータを意図的に削除して、軽量で「クリーン」なファイル構造を生成します。逆に、 Gitバンドル すべてのオブジェクトグラフを保持し、実質的にファイルをポータブルな オリジンリモート (内部オブジェクト)です。
2. 戦略マトリクス
| 特徴 | Gitアーカイブ | Gitバンドル |
|---|---|---|
| .git を含む? | いいえ | はい |
| コミット履歴 | なし | 完全 |
| 用途 | デプロイメント | 輸送 |
| フォーマット | .zip / .tar | バイナリ |
3. 状態の保持
マスター ブランチを対象とした場合、 master ブランチ (内部オブジェクト)では、アーカイブは静的スナップショットになります。一方、バンドルは master ブランチ (quick_reference), allowing the recipient to perform git log およびインクリメンタルな更新を行うことを可能にします。
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>